export interface IUserOptions {
  uid: number
}

export interface Tasks {
  date: string

  time: string

  folder: string

  status?: "waiting" | "running" | "done"

  ip?: string

  platforms: "bili"[]

  uuid?: string
}

type range0t3 = 0 | 1 | 2 | 3

type BaseNum = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

export type IFolderName = Exclude<`t_${range0t3}${BaseNum}`, "t_00">

export interface IIpMap {
  floder: IFolderName
  ip: string
  isMaster: boolean
  cacheName?: string
}

export interface ITask {
  tasks: Tasks[]

  ipMap: IIpMap[]
}

declare global {
  interface Window {
    jQuery: unknown
  }
}
